package com.hiraeth.modules.monitor.model.sd;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 基于DNS的服务发现配置允许指定一组DNS域名，这些域名会定期查询以发现目标列表。 要联系的DNS服务器从/etc/resolv.conf中读取。
 * 此服务发现方法仅支持基本的DNS A，AAAA和SRV记录查询，但不支持RFC6763中指定的高级DNS-SD方法。
 * 在重新标记阶段，元标签__meta_dns_name在每个目标上可用，并设置为生成已发现目标的记录名称。
 * @author xuning
 */
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class DnsSdConfig implements Serializable {
	
	private static final long serialVersionUID = 3384345500137446551L;

	/**
	 * 要查询的DNS域名列表。
	 */
	private List<String> names;
	
	/**
	 * 要执行的DNS查询的类型。默认SRV。可用类型：SRV、A、AAAA
	 */
	private String type;
	
	/**
	 * 查询类型不是SRV时使用的端口号。
	 */
	private int port;
	
	/**
	 * 提供名称后刷新的时间。
	 */
	private String refresh_interval = "30s";

}
